uboot下pwm的使用
在Ispahan 和 Pudding的stable分支支持在uboot下边使用pwm,下面介绍使用方法:
-
确保uboot下的pwm配置已打开;
-
在uboot 目录下,执行
make menuconfig
;
编译下载uboot.
在系统的uboot界面, 使用命令 pwm [id] [duty] [period] [pad]
pwm 0 100000 200000 14 //pwm0输出5000HZ, duty cycle=50%,PAD为PAD_FUART_RX.
测量相应的pad脚就能够测量出波形了.
如果出现下图中的情况:
请到 /boot/driver/pwm/infinity6e(infinity6b0)/hal_pwm.c
查看padTbl_0中是否有该引脚
相关接口介绍:
Step1: DrvPWMInit(id); //初始化PWM模组, id=0代表PWM0, 1=PWM1….依序
Step2: DrvPWMSetConfig(id, duty, period_ns); //设置duty以及period
举例set 5000Hz duty 50% pwm waveform
period_value = 1000000000 / 5000 = 200000 duty_value = period_value * 50% = 100000
Step3: DrvPWMEnable(id, enable, pad);//PWMid状态为enable并指定出到哪个PAD, 快速搜索pwmPadTbl_t